package com.eascs.web.o2o.web.aging.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 流程实例主表
 * 
 * @author user
 *
 */
@Entity
@Table(name = "ods_workflow_process_task_main")
public class ProcessTaskMain implements Serializable {
	private static final long serialVersionUID = 4050909577290403047L;

	/** 同意 */
	public static final int PROECESS_STATUS_PASS = 0;
	/** 否决 */
	public static final int PROECESS_STATUS_REJECT = 1;
	/** 处理中 */
	public static final int PROECESS_STATUS_HANDING = 2;
	/** 驳回 */
	public static final int PROECESS_STATUS_TURNED_DOWN = 3;
	
	/** 关闭 */
	public static final int PROECESS_STATUS_CLOSE = 9;

	public static final int SYSTEM_START_NO = 0;
	public static final int SYSTEM_START_YES = 1;

	/**
	 * 流程实例主键
	 */
	@Id
	@Column(name = "task_id")
	private String taskId;
	
	@Column(name = "task_code")
	private String taskCode;

	/**
	 * 流程模板ID
	 */
	@Column(name = "process_id")
	private String processId;

	/**
	 * 流程名称
	 */
	@Column(name = "process_name")
	private String processName;
	
	/**
	 * 流程类型
	 */
	@Column(name = "process_type")
	private String processType;
	
	/** 系统模块 */
	@Column(name = "system_module")
	private String systemModule;
	
	/** 流程版本 */
	@Column(name = "process_version")
	private String processVersion;

	/**
	 * 贷款ID
	 */
	@Column(name = "refer_id")
	private String referId;

	/**
	 * 引用Code
	 */
	@Column(name = "refer_code")
	private String referCode;

	/**
	 * 引用URL
	 */
	@Column(name = "refer_url")
	private String referUrl;

	@Column(name = "org_id")
	private String orgId;
	
	/**
	 * 经营平台
	 */
	@Column(name = "org_name")
	private String orgName;
	
	/**
	 * 流程申请人NO
	 */
	@Column(name = "appliedby")
	private String appliedby;

	/**
	 * 流程申请人名称
	 */
	@Column(name = "appliedby_name")
	private String appliedbyName;

	/**
	 * 流程申请时间
	 */
	@Column(name = "applied_date")
	private Date appliedDate;

	/**
	 * 是否系统发起 0是，1否
	 */
	@Column(name = "is_system_start")
	private Integer isSystemStart;

	/**
	 * 审批开始时间
	 */
	@Column(name = "auditor_stime")
	private Date auditorStime;

	/**
	 * 审批结束时间
	 */
	@Column(name = "auditor_etime")
	private Date auditorEtime;

	/**
	 * 0-同意，1-否决， 2-处理中
	 */
	@Column(name = "process_status")
	private Integer processStatus;

	/**
	 * 审批总步骤
	 */
	@Column(name = "auditor_steps")
	private Integer auditorSteps;

	/**
	 * 当前步骤序号
	 */
	@Column(name = "auditor_crr_step")
	private Integer auditorCrrStep;

	/**
	 * 当前节点ID
	 */
	@Column(name = "cur_node_id")
	private String curNodeId;

	/**
	 * 当前节点开始时间
	 */
	@Column(name = "cur_node_stime")
	private Date curNodeStime;
	
	/**
	 * 申请单描述
	 */
	@Column(name = "applied_des")
	private String appliedDes;
	
	/**
	 * 备注
	 */
	@Column(name = "remark")
	private String remark;

	private List<ProcessTaskNode> taskNodeList;
	
	/**节点时效*/
	@Column(name = "time_effective")
	private Integer timeEffective;
	
	
	/**节点超时时间*/
	@Column(name = "overtime")
	private Float overtime;
	
	/**节点用时*/
	@Column(name = "used_time")
	private Float usedTime;

	public List<ProcessTaskNode> getTaskNodeList() {
		return taskNodeList;
	}

	public void setTaskNodeList(List<ProcessTaskNode> taskNodeList) {
		this.taskNodeList = taskNodeList;
	}

	public String getTaskId() {
		return taskId;
	}

	public void setTaskId(String taskId) {
		this.taskId = taskId;
	}

	public String getReferId() {
		return referId;
	}

	public void setReferId(String referId) {
		this.referId = referId;
	}

	public String getReferUrl() {
		return referUrl;
	}

	public void setReferUrl(String referUrl) {
		this.referUrl = referUrl;
	}

	public String getAppliedby() {
		return appliedby;
	}

	public void setAppliedby(String appliedby) {
		this.appliedby = appliedby;
	}

	public String getAppliedbyName() {
		return appliedbyName;
	}

	public void setAppliedbyName(String appliedbyName) {
		this.appliedbyName = appliedbyName;
	}

	public Date getAppliedDate() {
		return appliedDate;
	}

	public void setAppliedDate(Date appliedDate) {
		this.appliedDate = appliedDate;
	}

	public Integer getIsSystemStart() {
		return isSystemStart;
	}

	public void setIsSystemStart(Integer isSystemStart) {
		this.isSystemStart = isSystemStart;
	}

	public Date getAuditorStime() {
		return auditorStime;
	}

	public void setAuditorStime(Date auditorStime) {
		this.auditorStime = auditorStime;
	}

	public Date getAuditorEtime() {
		return auditorEtime;
	}

	public void setAuditorEtime(Date auditorEtime) {
		this.auditorEtime = auditorEtime;
	}

	public Integer getProcessStatus() {
		return processStatus;
	}

	public void setProcessStatus(Integer processStatus) {
		this.processStatus = processStatus;
	}

	public Integer getAuditorSteps() {
		return auditorSteps;
	}

	public void setAuditorSteps(Integer auditorSteps) {
		this.auditorSteps = auditorSteps;
	}

	public Integer getAuditorCrrStep() {
		return auditorCrrStep;
	}

	public void setAuditorCrrStep(Integer auditorCrrStep) {
		this.auditorCrrStep = auditorCrrStep;
	}

	public String getCurNodeId() {
		return curNodeId;
	}

	public void setCurNodeId(String curNodeId) {
		this.curNodeId = curNodeId;
	}

	public Date getCurNodeStime() {
		return curNodeStime;
	}

	public void setCurNodeStime(Date curNodeStime) {
		this.curNodeStime = curNodeStime;
	}

	public String getReferCode() {
		return referCode;
	}

	public void setReferCode(String referCode) {
		this.referCode = referCode;
	}

	public String getProcessId() {
		return processId;
	}

	public void setProcessId(String processId) {
		this.processId = processId;
	}

	public String getProcessName() {
		return processName;
	}

	public void setProcessName(String processName) {
		this.processName = processName;
	}

	public String getProcessType() {
		return processType;
	}

	public void setProcessType(String processType) {
		this.processType = processType;
	}

	public String getSystemModule() {
		return systemModule;
	}

	public void setSystemModule(String systemModule) {
		this.systemModule = systemModule;
	}

	public String getProcessVersion() {
		return processVersion;
	}

	public void setProcessVersion(String processVersion) {
		this.processVersion = processVersion;
	}

	public String getTaskCode() {
		return taskCode;
	}

	public void setTaskCode(String taskCode) {
		this.taskCode = taskCode;
	}

	public String getOrgId() {
		return orgId;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}

	public String getOrgName() {
		return orgName;
	}

	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}

	public String getAppliedDes() {
		return appliedDes;
	}

	public void setAppliedDes(String appliedDes) {
		this.appliedDes = appliedDes;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
	
	public Integer getTimeEffective() {
		return timeEffective;
	}

	public void setTimeEffective(Integer timeEffective) {
		this.timeEffective = timeEffective;
	}

	public Float getOvertime() {
		return overtime;
	}

	public void setOvertime(Float overtime) {
		this.overtime = overtime;
	}

	public Float getUsedTime() {
		return usedTime;
	}

	public void setUsedTime(Float usedTime) {
		this.usedTime = usedTime;
	}
	
	
}
